package com.itextpdf.text.pdf; import com.itextpdf.testutils.CompareTool; import com.itextpdf.text.*; import org.junit.BeforeClass; import org.junit.Test; import java.io.*; public class PdfAFontEmbeddingTest { protected static final String outputDir = "./target/test/fontembedding/"; @BeforeClass public static void setup(){ new File(outputDir).mkdirs(); } @Test public void testNotoFont() throws DocumentException, IOException, InterruptedException { Document document = new Document(); String filename = outputDir + "testNotoFont.pdf"; PdfAWriter writer = PdfAWriter.getInstance(document, new FileOutputStream(filename), PdfAConformanceLevel.PDF_A_1B); writer.createXmpMetadata(); document.open(); String fontPath = "./src/test/resources/com/itextpdf/text/pdf/NotoSansCJKjp-Bold.otf"; BaseFont bf = BaseFont.createFont(fontPath, "Identity-H", true); Font font = new Font(bf, 14); String[] lines = new String[] {"Noto test", "in japanese:", "\u713C"}; for (String line: lines) { document.add(new Paragraph(line, font)); } ICC_Profile icc = ICC_Profile.getInstance(new FileInputStream("./src/test/resources/com/itextpdf/text/pdf/sRGB Color Space Profile.icm")); writer.setOutputIntents("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1", icc); document.close(); String cmpFile = "./src/test/resources/com/itextpdf/text/pdf/fontembedding/cmp_testNotoFont.pdf"; new CompareTool().compareByContent(filename, cmpFile, outputDir, "diff"); } }